export const ADDTOCAR = "ADDTOCAR"; /* 加入购物策划常量 */
export const COMOPUTE = "COMOPUTE"; /* 加入购物策划常量 */
export const SWITCHSELECT = "SWITCHSELECT"; /* 切换单选状态常量 */
export const SUBTOCAR = "SUBTOCAR"; /* 切换单选状态常量 */
export const REMOVEITEMCAR = "REMOVEITEMCAR"; /* 删除单个状态常量 */
export const REMOVEBYCHECK = "REMOVEBYCHECK"; /* 删除选中数据状态常量 */
export const SWITCHALLCHECK = "SWITCHALLCHECK"; /* 切换所有人的状态 */
// 加入购物车 action
export function addToCart(payload) {
  return async (dispatch) => {

    // 发起请求
    
    // 数量
    dispatch({ type: ADDTOCAR, payload });
    // 当购物车数据发生变化的时候， 需要重新计算数据
    dispatch({ type: COMOPUTE });
  };
}

// 减少购物车 action
export function subToCar(payload) {
  return async (dispatch) => {
    // 数量
    dispatch({ type: SUBTOCAR, payload });
    // 当购物车数据发生变化的时候， 需要重新计算数据
    dispatch({ type: COMOPUTE });
  };
}

// 单选状态切换
export function switchSelected(payload) {
  return async (dispatch) => {
    // 切换
    dispatch({ type: SWITCHSELECT, payload });
    // 当购物车数据发生变化的时候， 需要重新计算数据
    dispatch({ type: COMOPUTE });
  };
}

// 删除单个
export function removeItemCarById(id) {
  return (dispatch) => {
    dispatch({ type: REMOVEITEMCAR, payload: id });
    // 当购物车数据发生变化的时候， 需要重新计算数据
    dispatch({ type: COMOPUTE });
  };
}

// 删除所选
export function removmItemCarByCheck() {
  return (dispatch) => {
    dispatch({ type: REMOVEBYCHECK });
    // 当购物车数据发生变化的时候， 需要重新计算数据
    dispatch({ type: COMOPUTE });
  };
}

export function switchAllCheck(check) {
  return (dispatch) => {
    dispatch({ type: SWITCHALLCHECK, payload: check });
    // 当购物车数据发生变化的时候， 需要重新计算数据
    dispatch({ type: COMOPUTE });
  };
}
